﻿using Newtonsoft.Json;

namespace XSot.BitBrowser.LocalApiClient.Model
{
    public class BitBrowserGroupProfile
    {
        /// <summary>
        /// 唯一标识
        /// </summary>
        [JsonProperty("id")]
        public string? Id { get; set; }

        /// <summary>
        /// 分组代码
        /// </summary>
        [JsonProperty("groupCode")]
        public string? GroupCode { get; set; }

        /// <summary>
        /// 分组名称
        /// </summary>
        [JsonProperty("groupName")]
        public string? GroupName { get; set; }

        /// <summary>
        /// 排序号
        /// </summary>
        [JsonProperty("sortNum")]
        public int SortNum { get; set; }

        /// <summary>
        /// 父分组代码
        /// </summary>
        [JsonProperty("parentCode")]
        public string? ParentCode { get; set; }

        /// <summary>
        /// 主用户 ID
        /// </summary>
        [JsonProperty("mainUserId")]
        public string? MainUserId { get; set; }

        /// <summary>
        /// 是否删除（0：未删除，1：已删除）
        /// </summary>
        [JsonProperty("isDelete")]
        public int IsDelete { get; set; }

        /// <summary>
        /// 创建者 ID
        /// </summary>
        [JsonProperty("createdBy")]
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 用户 ID
        /// </summary>
        [JsonProperty("userId")]
        public string? UserId { get; set; }

        /// <summary>
        /// 所属用户 ID
        /// </summary>
        [JsonProperty("belongUserId")]
        public string? BelongUserId { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [JsonProperty("createdTime")]
        public DateTime? CreatedTime { get; set; }

        /// <summary>
        /// 更新者 ID
        /// </summary>
        [JsonProperty("updateBy")]
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [JsonProperty("updateTime")]
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 浏览器数量
        /// </summary>
        [JsonProperty("browserCount")]
        public int BrowserCount { get; set; } = 10;
        /// <summary>
        /// ID 列表（可为 null）
        /// </summary>
        [JsonProperty("ids")]
        public List<string>? Ids { get; set; }
        /// <summary>
        /// 创建者名称
        /// </summary>
        [JsonProperty("createdName")]
        public string? CreatedName { get; set; }

        /// <summary>
        /// 所属用户名称
        /// </summary>
        [JsonProperty("belongName")]
        public string? BelongName { get; set; }

        /// <summary>
        /// 是否为分组用户关系（可为 null）
        /// </summary>
        [JsonProperty("isGroupUserRel")]
        public bool? IsGroupUserRel { get; set; }

        /// <summary>
        /// 是否管理（可为 null）
        /// </summary>
        [JsonProperty("isManage")]
        public bool? IsManage { get; set; }
    }
}
